<?php
/**
 * createapp
 *
 * Initialise un environnement de développement pour un nouveau projet
 *
 * @package bottleneck
 * @subpackage scripts
 * @author Thomas Lenoel
 * @copyright 2010 Thomas Lenoel
 * @version 0.1
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public License version 3
 */
class init extends bICmd {

    /**
     * Initialisation d'un environnement de projet : création de l'arborescence et copie des fichiers de base
     */
    public function execute() {

        if (is_dir($this->_project_path.'/'.$this->_app)) bError::appAlreadyExist();

        else {
            $pathname = $this->_project_path.'/'.$this->_app;
            mkdir($pathname);
            mkdir($pathname.'/compile');
            chmod($pathname.'/compile', 0777);
            mkdir($pathname.'/modules');
            mkdir($pathname.'/orm');
            mkdir($pathname.'/var');
            mkdir($pathname.'/web');
            mkdir($pathname.'/web/css');
            mkdir($pathname.'/web/images');
            mkdir($pathname.'/web/js');
            copy(dirname(__FILE__).'/copyfolder/index.php', $pathname.'/web/index.php');
            $f = file_get_contents(dirname(__FILE__).'/copyfolder/config.def.php');
            
            $f = str_replace('%bneck_path%', dirname(__DIR__).'/', $f);
            
            $this->message('Création du projet '.$this->_app.'.', 'OK', 'green');


            // on crée le module



            if (isset ($this->_params[0])) {
                require_once(dirname(__FILE__).'/createmodule.cmd.php');
                $cmd = new createmodule($this->_params, $this->_app);
                $cmd->execute();

                if(isset ($this->_params[1])) {
                    $f = str_replace('%def_page%', $this->_params[0].'::'.$this->_params[1].'::index', $f);
                }
            }

            file_put_contents($pathname.'/var/config.php', $f);
        }
    }
}
?>
